package com.gjl.wechat.service.dto.applet;

import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.List;

/**
 * 小程序内容检测结果
 *
 * @author songlude
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class AppletMsgSecCheckRes extends WechatWorkCommonRes {


    /**
     * 详细检测结果
     */
    @JSONField(name = "detail")
    private List<Detail> detailList;

    /**
     * 唯一请求标识，标记单次请求
     */
    @JSONField(name = "trace_id")
    private String traceId;


    /**
     * 综合结果
     */
    private Result result;

    @Data
    public static class Detail {
        /**
         * 策略类型
         */
        private String strategy;

        /**
         * 错误码，仅当该值为0时，该项结果有效
         */
        private int errcode;

        /**
         * 建议，有risky、pass、review三种值
         */
        private String suggest;

        /**
         * 命中标签枚举值，100 正常；10001 广告；20001 时政；20002 色情；20003 辱骂；20006 违法犯罪；20008 欺诈；20012 低俗；20013 版权；21000 其他
         */
        private int label;

        /**
         * 命中的自定义关键词
         */
        private String keyword;

        /**
         * 0-100，代表置信度，越高代表越有可能属于当前返回的标签（label）
         */
        private int prob;

    }


    @Data
    public static class Result {
        /**
         * 建议，有risky、pass、review三种值
         */
        private String suggest;

        /**
         * 命中标签枚举值，100 正常；10001 广告；20001 时政；20002 色情；20003 辱骂；20006 违法犯罪；20008 欺诈；20012 低俗；20013 版权；21000 其他
         */
        private int label;
    }
}
